package com.mastercard.assets.web.struts.actions;

import com.mastercard.assets.MasterCardException;
import com.mastercard.assets.jpa.TblUsuario;
import com.mastercard.assets.util.MCUtil;
import com.mastercard.assets.util.dao.MasterCardDAO;
import com.mastercard.assets.web.struts.forms.LoginMailForm;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginSend extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException, MasterCardException {

        // convierte el form
        LoginMailForm f = (LoginMailForm) form;

        String emailAddr = f.getEmail(), log = null, pass = null, pw ,
                subject = "Datos de su cuenta en SAMM", mensaje;

        List < TblUsuario > res = MasterCardDAO.findUserByEmail(emailAddr);
        MasterCardDAO.closeEntityManager( ) ;
        
        for ( TblUsuario u : res ) {
            
            log = u.getLogin( ) ;
            pass = u.getPswd( ) ;
        }
        
        pw = MCUtil.decryptPassword( pass ) ;
        
        mensaje = " Estimado Usuario:\n"
                +"\nUna cuenta ha sido creada en su nombre o usted ha solicitado el envío de los datos de su cuenta por este medio, a continuación encontrará sus datos de acceso al sistema SAMM.:\n"
                + "\n"
                + "\n"
                + "\n"
                + "Usuario: " + log + "\n"
                + "Contraseña: " + pw + " "
                + "\n"
                + "\n Ingresa aquí: http://mastercard.codice.com/MasterCard/"
                + "\n"
                + "\n"
                + "Por favor no responda a esta dirección de correo electrónico.\n"
                + "Si requiere de mayor información envíe un correo electrónico a: asksamm@mastercard.com \n"
                + "\n";

        MCUtil.sendMail(emailAddr, subject, mensaje);

        return mapping.findForward("success");

    }
}
